const express = require('express')
const router = express.Router()
// 引入admin的mongo相关方法
const mongoAdmin = require('../../database/admin/mongo_admin')
// 引入Schema，传给通用CRUD作为model参数
const customSchemas = require("../../schemas/adminSchemas/schema")


// 0. 登陆
// 暂时使用假数据返回，先让前端过检测
router.post('/login', (req, res) => {
    console.log(req.body)
    let mockLoginRes = {
        sessionId: "123"
    }
    res.send(JSON.stringify(mockLoginRes))
})

// 1. 分类管理 树结构的CRUD
router.post('/categories_list', (req, res) => {
    mongoAdmin.getCategoryList(req.body).then(ret => {
        res.send(ret)
    }).catch(err => {
        res.send("系统异常，请稍后重试：" + err)
    })
})

router.post('/categories_save', (req, res) => {
    console.log(req.body)
    mongoAdmin.createCategory(req.body).then(() => {
        res.send("创建成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试：" + err)
    })
})

router.post('/categories_edit', (req, res) => {
    mongoAdmin.editCategory(req.body).then(ret => {
        res.send("编辑成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试！错误信息：" + err)
    })

})

router.post('/categories_delete', (req, res) => {
    mongoAdmin.deleteCategory(req.body).then(() => {
        res.send("删除成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试！错误信息：" + err)
    })
})

// 2. 物品管理（通用模板）
router.post('/item_list', (req, res) => {
    mongoAdmin.getCommonList(customSchemas.itemModel, ['itemName', 'picURL'], req.body).then(ret => {
        res.send(ret)
    }).catch(err => {
        res.send("系统异常，请稍后重试：" + err)
    })
})

router.post('/item_save', (req, res) => {
    mongoAdmin.createCommonData(customSchemas.itemModel, req.body).then(() => {
        res.send("创建成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试：" + err)
    })
})

router.post('/item_edit', (req, res) => {
    mongoAdmin.editCommonData(customSchemas.itemModel , ["itemName" , "picURL"] ,req.body).then(ret => {
        res.send("编辑成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试！错误信息：" + err)
    })

})

router.post('/item_delete', (req, res) => {
    mongoAdmin.deleteCommonData(customSchemas.itemModel, req.body).then(() => {
        res.send("删除成功")
    }).catch(err => {
        res.send("系统异常，请稍后重试！错误信息：" + err)
    })
})
module.exports = router